home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 145 / Gekkan Dennou Club - 2000.6 Vol. 145 (Japan).7z / Gekkan Dennou Club - 2000.6 Vol. 145 (Japan) (Track 1).bin / tools / sharp / sxwork2.lzh / サンプル基礎編 / スクロール / SCROLL.H < prev   
Text File  |  1994-03-10  |  2KB  |  74 lines

  1. /******************************************************************************
  2.  *    scroll.h:    scroll.c用ヘッダファイル
  3.  ******************************************************************************
  4.  *    Workroom SX-68K Sample Program Copyright 1994 SHARP
  5.  *
  6.  *    定数定義
  7.  */
  8. /* ウィンドウタイトル */
  9. #define WINTITLE    ((_LASCII) "\x0eスクロール処理")
  10.  
  11. /* ウィンドウサイズ */
  12. #define WIN_H        300        /* ウィンドウの幅        */
  13. #define WIN_V        150        /* ウィンドウの高さ        */
  14.  
  15. #define FONTSIZE    6
  16. #define DISP_LINE    36
  17.  
  18. #define SCL_H        0
  19. #define SCL_V        1
  20.  
  21. /* イベントマスク */
  22. #define EVENTMASK    (EM_IDLE | EM_MSLDOWN | EM_UPDATE | EM_ACTIVATE | EM_SYSTEM1 | EM_SYSTEM2)
  23. /*
  24.  *    構造体宣言
  25.  */
  26. typedef struct ScrlVal {        /* スクロールバーの値        */
  27.     int val;            /* 現在値            */
  28.     int max;            /* 最大値            */
  29.     int dMax;            /* コントロール定義関数のデータ    */
  30. } ScrlVal;
  31.  
  32. typedef struct ComVal {            /* 共通変数            */
  33.     Window *windowPtr;        /* ウィンドウポインタ        */
  34.     BOOLEAN activeFlag;        /* アクティブフラグ        */
  35.     TsEvent event;            /* イベントレコード        */
  36.     int eventMask;            /* イベントマスク        */
  37.     int errorCode;            /* エラーコード            */
  38.     BOOLEAN endFlag;        /* 終了フラグ            */
  39.     /* 横スクロールバーのコントロールハンドル */
  40.     Control **scrlBrHHdl;
  41.     /* 縦スクロールバーのコントロールハンドル */
  42.     Control **scrlBrVHdl;
  43.     BOOLEAN scrollFlag;        /* スクロール中フラグ        */
  44.     ScrlVal scrlH;            /* 横スクロール値        */
  45.     ScrlVal scrlV;            /* 縦スクロール値        */
  46.     int logHeight;            /* 論理表示高さ            */
  47.     int logWidth;            /* 論理表示幅            */
  48.     int dispX;            /* 表示開始行            */
  49.     int dispY;
  50. } ComVal;
  51. /*
  52.  *    関数プロトタイプ
  53.  */
  54. /* scmain.c */
  55. BOOLEAN init(ComVal *);
  56. BOOLEAN createWindow(ComVal *);
  57. void idleEvent(ComVal *);
  58. void msLDownEvent(ComVal *);
  59. void keyDownEvent(ComVal *);
  60. void updateEvent(ComVal *);
  61. void drawGraph(ComVal *);
  62. void activateEvent(ComVal *);
  63. void systemEvent(ComVal *);
  64. void showErrDialog(ComVal *);
  65. void endProc(int, ComVal *);
  66.  
  67. /* scroll.c */
  68. BOOLEAN createScrollBar(ComVal *);    /* スクロールバーの作成        */
  69. BOOLEAN checkScrollBar(ComVal *);    /* スクロールバーのチェック    */
  70. BOOLEAN setScrollOffset(ComVal *, int *);
  71. void setScrollBar(ComVal *);
  72. void calcScrollBar(ComVal *, ScrlVal *, ScrlVal *);
  73. void resizeScrollBar(ComVal *);        /* スクロールバーのサイズ変更    */
  74.